import image.ImageHelper;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import java.util.UUID;
import net.coobird.thumbnailator.Thumbnails;

public class Starter {

    public static void main(String[] args) throws IOException, URISyntaxException {

        String imageUrl = "D:\\MyJava\\java-image\\sky.jpg";

        //1. BufferedImage的形式处理
        BufferedImageTool.resize(imageUrl, 0.5);

        //2. Thumbnails 方式的处理
        ThumbnailsTool.resize(imageUrl, 0.5);

        //3. 延申:如果图片文件不是本地的,是网络图片,怎么办?
        //ps: 没想到java读取网络图片还真有点麻烦
        //读取网络图片
        //java读取和处理网络图片还真麻烦 屮。 不得不转为本地文件处理
        imageUrl = "https://img-home.csdnimg.cn/images/20201120101655.png";
        int index = imageUrl.lastIndexOf(".");
        if (index == -1) {
            return;
        }
        String extName = imageUrl.substring(index + 1);

        byte[] imgByteArr = ImageHelper.getImageFromNetByUrl(imageUrl);
        String uuid = UUID.randomUUID().toString();
        String localFileName = String.format("%s.%s", uuid, extName);
        ImageHelper.writeImageToDisk(imgByteArr, localFileName);

        File localTempFile = new File(localFileName);

        // BufferedImage 第三方库压缩图片画幅。JDK自带的会有严重色差
        Thumbnails.of(localTempFile)
            .size(600, 300)
            .outputFormat("png")
            .toFile(new File("olympic.png"));

        //删除临时文件
        localTempFile.delete();
    }


}
